<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>函数和对象作业</title>
</head>

<body>
<script>
  // 1.2 写一个函数，能返回传入的任意三个数字的最大值
  // function zuida(num1,num2,num3){
  // 	var max;
  // 	max = num1>num2 ? num1 : num2;
  //   return max>num3 ? max : num3;
  // }
  // var result = zuida(5,2,9);
  // console.log(result);

  /*-----------------------------------------------*/
  // 1.3 写一个函数，能判断传入的一个数值是否是质数，如果是质数返回true，如果不是质数返回false，(质数：从2开始只能被1和自身整数的数)
  /*function isPrimeNum(num){
      for (var i = 2; i < num; i++) {
          if (num%i==0){
              return false;
          }
      }
      return true;
  }
  var res = isPrimeNum(2);
  console.log(res);*/

  /*----------------------------------------------------*/
  // 1.4 写一个函数，能翻转数组，通过返回值返回。
  // 方法一：使用函数直接返回
  /*var arr2 = [1,2,3,[4,5,6]];
  arr2.reverse();
  console.log(arr2);*/



  /*var arr = [1,4,5,7,[2,3,8]];
  var arr2 = arr.join();
  // console.log(arr2);
  var shuzu = [];
  for(var i=arr2.length-1; i>=0; i--){
        shuzu += arr2[i];
  }
  console.log(shuzu.split(","));*/

  /*-----------------------------------------------------*/
  // 4.写一个函数，能翻转传入的任意数组，并把翻转结果通过返回值返回。
  // 将数组 ['red', 'green', 'blue', 'pink', 'purple'] 的内容反过来存放
  // 1、声明一个新数组 newArr
  // 2、把旧数组索引号第4个取过来（arr.length - 1)，给新数组索引号第0个元素 (newArr.length)
  // 3、我们采取 递减的方式  i--
  //  var arr = ['red', 'green', 'blue', 'pink', 'purple', 'hotpink', [1, 2, 3, ['你好', '张三']]];
  // var newArr = [];

  // function panduan(arr) {
  //     for (var i = arr.length - 1; i >= 0; i--) {
  //         newArr[newArr.length] = arr[i];
  //         //  if(typeof (arr[i]) == 'object'){
  //         // if(Array.isArray(arr[i])){
  //         if (arr[i] instanceof Array) {
  //             panduan(arr[i]);
  //         }
  //     }
  //     return newArr;
  // }
  // var result = panduan(arr);
  // console.log(result);

  // 冒泡排序
  // var arr = [4, 1, 2, 3, 5];

  // function rev(arr) {
  //     for (var i = 1; i < arr.length ; i++) {   // 外层for循环控制的是循环的趟数
  //         for (var j = 0; j < arr.length - i; j++) {   // 内层的for循环控制每趟的交换次数
  //             if (arr[j] > arr[j + 1]) {
  //                 var temp = arr[j];
  //                 arr[j] = arr[j + 1];
  //                 arr[j + 1] = temp;
  //             }
  //         }
  //     }
  //     return arr;
  // }
  // var res = rev(arr);
  // console.log(res);
  /*------------------------------------------------------*/
  // 简单的计算器

  /* while(true){
      tan = prompt('1.+法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出');
     if(tan == '1'){
     var num1 = prompt('第一个数');
     var num2 = prompt('第二个数');
     num1 = parseInt(num1);
     num2 = parseInt(num2);
     var res = num1 + num2;
     alert(res);
     tan = prompt('1.+法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出');
     }
     if(tan == '2'){
     var num1 = prompt('第一个数');
     var num2 = prompt('第二个数');
     num1 = parseInt(num1);
     num2 = parseInt(num2);
     var res = num1 - num2;
     alert(res);
     tan = prompt('1.+法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出');
     }
     if(tan == '3'){
     var num1 = prompt('第一个数');
     var num2 = prompt('第二个数');
     num1 = parseInt(num1);
     num2 = parseInt(num2);
     var res = num1 * num2;
     alert(res);
     tan = prompt('1.+法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出');
     }
     if(tan == '4'){
     var num1 = prompt('第一个数');
     var num2 = prompt('第二个数');
     num1 = parseInt(num1);
     num2 = parseInt(num2);
     var res = num1 / num2;
     alert(res);
     tan = prompt('1.+法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出');
     }
     if(tan == '5'){
     break;
     }
   }*/




  // 改进一下：
  //   var tan = prompt('1.+法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出');
  //   function jisuan(shuzi){
  //   var num1 = parseInt(prompt('第一个数'));
  //   var num2 = parseInt(prompt('第二个数'));
  //   var result;
  //   switch(parseInt(shuzi)){ //判断要输入状态
  //       case 1:
  //       result=num1+num2;
  //       break;
  //       case 2:
  //       result=num1-num2;
  //       break;
  //       case 3:
  //       result=num1*num2;
  //       break;
  //       case 4:
  //       result=num1/num2;
  //       break;
  //     }
  //     alert(result);
  //     tan = prompt('1.+法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出');
  // }

  // while(1==1){
  //   if(tan == '1'){
  //     jisuan('1');
  //   }
  //   if(tan == '2'){
  //     jisuan('2');
  //   }
  //   if(tan == '3'){
  //     jisuan('3');
  //   }
  //   if(tan == '4'){
  //     jisuan('4');
  //   }
  //   if(tan == '5'){
  //     break;
  //   }
  // }

  // 计算器
  var tan = prompt('1.+运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出')

  //函数的特点，因为本身的特性，函数调用执行完毕，就垃圾回收
  function jisuan (shuzi) {
    var num1 = parseInt(prompt('第一个数字'))
    var num2 = parseInt(prompt('第二个数字'))
    var result
    switch (parseInt(shuzi)) {
      // 判断要输入的状态
      case 1:
        result = num1 + num2
        break
      case 2:
        result = num1 - num2
        break
      case 3:
        result = num1 * num2
        break
      case 4:
        result = num1 / num2
        break
      case 5:
        break
    }
    alert(result)
    tan = prompt('1.+运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出')

  }

  // 我们只能让他重复的输入，重复的调用函数
  // 2.接下来交给函数来完成，包装在一个函数中，需要的时候，我们就调用函数

  while (1 == 1) {
    if (tan == '1') {
      jisuan('1')
    }
    if (tan == '2') {
      jisuan('2')
    }
    if (tan == '3') {
      jisuan('3')
    }
    if (tan == '4') {
      jisuan('4')
    }
    if (tan == '5') {
      break
    }
  }


</script>
</body>

</html>